package lvm;

import java.io.File;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import lvm.reader.Reader;

import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;

public class XmlRead {
	
	//Parse le fichier et fait appel au Handler (startElement, endElement etc...)
	public XmlRead(){
		try{
			SAXParserFactory fabrique = SAXParserFactory.newInstance();
			SAXParser parseur = fabrique.newSAXParser();

			File fichier = new File("Lisp.xml");
		
			DefaultHandler gestionnaire = new XmlHandler();
			parseur.parse(fichier, gestionnaire);
			
		}
		catch(Exception e)
		{
			System.out.println(e.toString());
			
		}
		
	}
	
	
		

		/*
		public void error(SAXParseException e) throws SAXParseException {
			throw e;
		}

		public void warning(SAXParseException err) throws SAXParseException {
			Console.println("** Warning" + ", line " + err.getLineNumber()
					+ ", uri " + err.getSystemId());
			Console.println("   " + err.getMessage());
		}
		
		

		
		public static void read(String file) {
			// lecture du fichier de description du contexte
			try {
				System.out.println("test");
				XmlHandler handler = new XmlHandler();
				XMLReader parser = XMLReaderFactory.createXMLReader();
				parser.setContentHandler(handler);
				parser.setErrorHandler(handler);
				DefaultHandler gestionnaire = new XmlHandler();
				parser.parse(new InputSource(Reader.class.getResourceAsStream(file)));
				
				
			} catch (SAXParseException err) {
				System.err.println("** Error" + ", line " + err.getLineNumber()
						+ ", uri " + err.getSystemId());
				System.err.println("   " + err.getMessage());
			} catch (SAXException e) {
				Console.printStack((e.getException() != null) ? e.getException()
						: e);
			} catch (Throwable t) {
				Console.printStack(t);
			}
		}*/

}
